package Game;

import java.util.*;

import Game.Items.GameItem;
import Game.Items.Potions.GIAntipoisonPotion;
import Game.Items.Potions.GIBigHealthPotion;
import Game.Items.Potions.GIExperiencePotion;
import Game.Items.Potions.GIMagicPotion;
import Game.Items.Potions.GIMediumHealthPotion;
import Game.Items.Potions.GIMydriasisPotion;
import Game.Items.Potions.GISmallHealthPotion;
import Game.Items.Potions.GIStrengthPotion;

/** Statistics class
 * @author Aikidos
 */
public class Statistics {

	/** List of unknown item */
	private static List<String> _lstUnknownItems = new ArrayList<String>();
	
	/** Initialize */
	public static void init() {
		// Add items class name
		_lstUnknownItems.add(new GIAntipoisonPotion().getClass().getName());
		_lstUnknownItems.add(new GIBigHealthPotion().getClass().getName());
		_lstUnknownItems.add(new GIExperiencePotion().getClass().getName());
		_lstUnknownItems.add(new GIMagicPotion().getClass().getName());
		_lstUnknownItems.add(new GIMediumHealthPotion().getClass().getName());
		_lstUnknownItems.add(new GIMydriasisPotion().getClass().getName());
		_lstUnknownItems.add(new GIStrengthPotion().getClass().getName());
	}
	
	/** Deinitialize */
	public static void deInit() {
		_lstUnknownItems.clear();
	}
	
	/** Returns list of unknown item
	 * @return List of unknown item
	 */
	public static List<String> getUnknownItems() {
		return _lstUnknownItems;
	}
	
	/** Remove item from list of unknown item
	 * @param item - Item
	 */
	public static void removeUnknownItem(GameItem item) {
		if (_lstUnknownItems.contains(item.getClass().getName()))
			_lstUnknownItems.remove(item.getClass().getName());
	}
	
	/** Is unknown item? */
	public static boolean isUnknownItem(GameItem item) {
		return _lstUnknownItems.contains(item.getClass().getName());
	}
	
}
